home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / ANTENNA.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-27  |  6.8 KB  |  241 lines

  1. 10  'ANTENNA   13 JAN 91 rev. 27 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  PROG$="antenna"
  4. 40  COMMON EX$,PROG$
  5. 50  CLS:KEY OFF
  6. 60  COLOR 7,0,1
  7. 70  UL$=STRING$(80,205)
  8. 80  U$="##,###.###"
  9. 90  V$="####.# "
  10. 100  W$="#####,###.###"
  11. 110  V#=2.99792E+08    'speed of light in metres per second
  12. 120  '                 based on ISO standards (1992)
  13. 130  '
  14. 140  COLOR 15,2
  15. 150  PRINT " ANTENNA ELEMENT LENGTHS & PRUNING CALCULATOR";
  16. 160  PRINT TAB(57);"by George Murphy VE3ERP ";
  17. 170  COLOR 1,0:PRINT STRING$(80,223);
  18. 180  COLOR 7,0
  19. 190  '
  20. 200  '.....preface
  21. 210  OPEN"I",1,"\data\docfiles\antenna.doc"
  22. 220  IF EOF(1)THEN 240
  23. 230  INPUT#1,NOTE$:PRINT "   ";NOTE$:GOTO 220
  24. 240  CLOSE
  25. 250  PRINT UL$;
  26. 260  '
  27. 270  '.....start
  28. 280  PRINT " Press number in < > for:"
  29. 290  PRINT UL$;
  30. 300  PRINT "    < 1 >  Antenna Length calculator (ARRL standards)"
  31. 310  PRINT "    < 2 >  Antenna Pruning calculator"
  32. 320  PRINT "    < 3 >  Antenna Lengths & K-Factors (NEC-2 models)"
  33. 330  PRINT UL$;
  34. 340  PRINT "    < 0 >  EXIT"
  35. 350  Z$=INKEY$
  36. 360  IF Z$="0"THEN CLS:RUN EX$
  37. 370  IF Z$="1"THEN 420
  38. 380  IF Z$="2"THEN 1880
  39. 390  IF Z$="3"THEN CLS:CHAIN"kfactor"
  40. 400  GOTO 350
  41. 410  '
  42. 420  '.....input frequency
  43. 430  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  44. 440  PRINT " Press number in < > to choose standard units of measure:"
  45. 450  PRINT UL$;
  46. 460  PRINT "    < 1 >  Metric"
  47. 470  PRINT "    < 2 >  U.S.A./Imperial"
  48. 480  Z$=INKEY$
  49. 490  IF Z$="1" THEN UM=0.3048:UM$=" metres":GOTO 520
  50. 500  IF Z$="2" THEN UM=1:UM$=" feet":GOTO 520
  51. 510  GOTO 480
  52. 520  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  53. 530  '
  54. 540  '.....input data
  55. 550  INPUT " ENTER: Frequency in MHz ";F
  56. 560  IF F=0 THEN 430
  57. 570  '
  58. 580  '.....define elements
  59. 590  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  60. 600  PRINT " Press number in < > to define antenna elements:
  61. 610  PRINT UL$;
  62. 620  PRINT "  <1> WIRE
  63. 630  PRINT "  <2> TUBING
  64. 640  Z$=INKEY$
  65. 650  IF Z$="1"THEN E$="Wire":GOTO 690
  66. 660  IF Z$="2"THEN E$="Tubing":GOTO 690
  67. 670  GOTO 640
  68. 680  '
  69. 690  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  70. 700  IF E$="Tubing"THEN 730
  71. 710  IF E$="Wire"THEN 840
  72. 720  '
  73. 730  PRINT " Do you want to enter tubing size in (m)illimetres or (i)nches?";
  74. 740  PRINT "   (m/i) "
  75. 750  PRINT UL$;
  76. 760  Z$=INKEY$
  77. 770  IF Z$="i"THEN MM=1:MM$="inches":GOTO 800
  78. 780  IF Z$="m"THEN MM=25.4:MM$="mm.":GOTO 800
  79. 790  GOTO 760
  80. 800  PRINT " ENTER: Outside diameter of tubing (";MM$;")";:INPUT D:D=D/MM
  81. 810  IF D=0 THEN CLS:GOTO 730
  82. 820  GOTO 1060
  83. 830  '
  84. 840  PRINT " Press letter in < > to select how you want to enter wire size:"
  85. 850  PRINT UL$;
  86. 860  PRINT "   < a > Diameter in millimetres"
  87. 870  PRINT "   < b > Diameter in inches"
  88. 880  PRINT "   < c > Diameter in AWG size"
  89. 890  Z$=INKEY$
  90. 900  IF Z$="a"THEN MM=25.4:MM$="mm":GOTO 950
  91. 910  IF Z$="b"THEN MM=1:MM$="inches":GOTO 950
  92. 920  IF Z$="c"THEN MM=1:MM$="AWG#":GOTO 950
  93. 930  GOTO 890
  94. 940  '
  95. 950  PRINT UL$;
  96. 960  PRINT " ENTER: Wire diameter (";MM$;")";:INPUT N
  97. 970  IF Z$="c"THEN GOSUB 1000:GOTO 980 ELSE D=N/MM
  98. 980  GOTO 1060
  99. 990  '
  100. 1000  '.....convert AWG size to diameter in inches
  101. 1010  KK=(0.46/0.005)^(1/39)
  102. 1020  NN=N+3
  103. 1030  D=0.46/KK^NN
  104. 1040  RETURN
  105. 1050  '
  106. 1060  '.....K factor
  107. 1070  J=V#/2/0.3048/10^6   'factor for speed of light, in feet, for 1/2 wavelength
  108. 1080  REM J=491.7865
  109. 1090  WL=J/F              '1/2 wavelength in free space
  110. 1100  R=WL*12/D           'ratio of 1/2 wavelength to element diameter
  111. 1110  K=0.91
  112. 1120  IF R>10 THEN K=0.92
  113. 1130  IF R>12 THEN K=0.93
  114. 1140  IF R>15 THEN K=0.94
  115. 1150  IF R>22 THEN K=0.95
  116. 1160  IF R>50 THEN K=0.96
  117. 1170  IF R>200 THEN K=0.97
  118. 1180  IF R>2000 THEN K=0.98
  119. 1190  '
  120. 1200  '.....antenna length
  121. 1210  REM J=491.7865
  122. 1220  HW=J*K/F                'half wave flat top in feet
  123. 1230  IF(E$="Wire")AND(F<=30)THEN HW=0.95*HW/K 'end effect correction if F<=30mHz
  124. 1240  VA=234/F                'full size vertical
  125. 1250  HWL=J*(1-0.05)/F         'half wave long wire
  126. 1260  FWL=J*(2-0.05)/F         'full wave long wire
  127. 1270  WL2=J*(4-0.05)/F         'two-wave long wire
  128. 1280  WL4=J*(8-0.05)/F         'four-wave long wire
  129. 1290  '
  130. 1300  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  131. 1310  PRINT " Velocity of light (ISO 1992 standard)....V=";
  132. 1320  PRINT USING "########,###.###";V#/10^3;:PRINT " km. per second"
  133. 1330  PRINT " Frequency ...............................F=   ";USING W$;F;
  134. 1340  Z=CINT(WL*0.3048*2)
  135. 1350  PRINT " MHz (";Z;"m. band)"
  136. 1360  PRINT " 1/2 Wavelength in free space=[ V(km)<UNK! {00F6}>F(kHz)<UNK! {00F6}>2 ]= ";
  137. 1370  PRINT USING U$;WL*0.3048;
  138. 1380  PRINT " m.  (";USING "###.###";WL;:PRINT " ft.)"
  139. 1390  PRINT " Minimum recommended height (1/4 wavelength)....= ";
  140. 1400  PRINT USING U$;WL*0.3048/2;
  141. 1410  PRINT " m.  (";USING "###.###";WL/2;:PRINT " ft.)"
  142. 1420  PRINT UL$;
  143. 1430  AED$=" "+E$+" Antenna Element Data:"
  144. 1440  PRINT AED$;
  145. 1450  IF MM$="AWG#"THEN PRINT "  ( ";MM$;N;")" ELSE PRINT ""
  146. 1460  PRINT STRING$(LEN(AED$),196)           'underline
  147. 1470  IF UM=1 THEN MM=D:MM$=" in." ELSE MM=D*25.4:MM$=" mm."
  148. 1480  PRINT" Antenna element diameter.........................";USING U$;MM;
  149. 1490  PRINT MM$
  150. 1500  PRINT " Ratio of 1/2 wavelength to element diameter......";USING U$;R;
  151. 1510  PRINT ":1"
  152. 1520  PRINT " K factor (approximate)...........................";USING U$;K
  153. 1530  PRINT UL$;
  154. 1540  AEL$=" "+E$+" Antenna Element Lengths:"
  155. 1550  PRINT AEL$;TAB(39);"*ALK (Length = ALK <UNK! {00F6}> Frequency in MHz)
  156. 1560  PRINT STRING$(30,196);SPC(8);"SOUNDSOUNDSOUNDSOUNDSOUND"
  157. 1570  '
  158. 1580  ALK=F*HW*UM
  159. 1590  PRINT " Half-Wave flat top (e.g. dipole)....";USING V$;ALK;
  160. 1600  PRINT "......";USING U$;HW*UM;:PRINT UM$
  161. 1610  '
  162. 1620  ALK=F*VA*UM
  163. 1630  PRINT " Full size vertical (height).........";USING V$;ALK;
  164. 1640  PRINT "......";USING U$;VA*UM;:PRINT UM$
  165. 1650  '
  166. 1660  PRINT UL$;
  167. 1670  '
  168. 1680  ALK=F*HWL*UM
  169. 1690  PRINT " Half-Wave end fed single wire.......";USING V$;ALK;
  170. 1700  PRINT "......";USING U$;HWL*UM;:PRINT UM$
  171. 1710  '
  172. 1720  ALK=F*FWL*UM
  173. 1730  PRINT " Full-Wave end fed single wire.......";USING V$;ALK;
  174. 1740  PRINT "......";USING U$;FWL*UM;:PRINT UM$
  175. 1750  '
  176. 1760  ALK=F*WL2*UM
  177. 1770  PRINT " Two-Wave end fed single wire........";USING V$;ALK;
  178. 1780  PRINT "......";USING U$;WL2*UM;:PRINT UM$
  179. 1790  '
  180. 1800  ALK=F*WL4*UM
  181. 1810  PRINT " Four-Wave end fed single wire.......";USING V$;ALK;
  182. 1820  PRINT "......";USING U$;WL4*UM;:PRINT UM$
  183. 1830  PRINT UL$;
  184. 1840  PRINT " *ALK = Antenna Length Constant.";
  185. 1850  PRINT " Includes calculated K and end-effect factors.";
  186. 1860  GOTO 2250
  187. 1870  '
  188. 1880  '.....pruning calculator
  189. 1890  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  190. 1900  GOTO 1960
  191. 1910  '.....format input line
  192. 1920  U$="####.###":LOCATE CSRLIN-1:PRINT SPC(7);
  193. 1930  LOCATE CSRLIN,49:PRINT STRING$(7,".");USING U$;Z;
  194. 1940  RETURN
  195. 1950  '
  196. 1960  PRINT TAB(9);
  197. 1970  PRINT "                                   ALK (Antenna Length Constant)"
  198. 1980  PRINT TAB(9);
  199. 1990  PRINT "Antenna length formula:   Length = SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND-"
  200. 2000  PRINT TAB(9);
  201. 2010  PRINT "                                          Frequency (MHz)"
  202. 2020  PRINT
  203. 2030  PRINT TAB(9);
  204. 2040  PRINT "You may enter antenna length in either metres or feet."
  205. 2050  PRINT TAB(9);
  206. 2060  PRINT "The calculation results will be in the same units of measurement."
  207. 2070  PRINT UL$;
  208. 2080  INPUT " ENTER: Design Frequency........................(MHz)";FD
  209. 2090  Z=FD:GOSUB 1910:PRINT " MHz"
  210. 2100  INPUT " ENTER: Unpruned Antenna Length......................";LU
  211. 2110  Z=LU:GOSUB 1910
  212. 2120  DLF=FD*LU   'design length factor
  213. 2130  PRINT "        Design ALK (Antenna Length Constant)...........";
  214. 2140  PRINT USING U$;DLF
  215. 2150  INPUT " ENTER: Frequency at which minimum SWR occurs...(MHz)";FA
  216. 2160  Z=FA:GOSUB 1910:PRINT " MHz"
  217. 2170  ALK=FA*LU   'actual length factor
  218. 2180  PL=ALK/FD
  219. 2190  PRINT "        Actual ALK for this installation...............";
  220. 2200  PRINT USING U$;ALK
  221. 2210  PRINT "        Pruned Antenna Length should be................";
  222. 2220  PRINT USING U$;PL
  223. 2230  GOTO 2250
  224. 2240  '
  225. 2250  '.....end
  226. 2260  GOSUB 2280:CLS:GOTO 50
  227. 2270  '
  228. 2280  'HARDCOPY
  229. 2290  GOSUB 2400:LOCATE 25,2:COLOR 14,6
  230. 2300  PRINT " Press 1 to print screen, 2 to print screen & ";
  231. 2310  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  232. 2320  Z$=INKEY$:IF Z$="3"THEN GOSUB 2400:RETURN
  233. 2330  IF Z$="1"OR Z$="2"THEN GOSUB 2400:GOTO 2350
  234. 2340  GOTO 2320
  235. 2350  FOR QX=1 TO 24:FOR QY=1 TO 80
  236. 2360  LPRINT CHR$(SCREEN(QX,QY));
  237. 2370  NEXT QY:NEXT QX
  238. 2380  IF Z$="2"THEN LPRINT CHR$(12)
  239. 2390  GOTO 2290
  240. 2400  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  241.